/*
Copyright 2014 Google Inc

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

using System;
using System.Collections.Generic;

namespace DriveProxy.API
{
  partial class DriveService
  {
    protected internal class MimeType
    {
      private static IDictionary<string, string> _knownTypes;

      public static IDictionary<string, string> KnownTypes
      {
        get
        {
          if (_knownTypes == null)
          {
            _knownTypes = new Dictionary<string, string>(StringComparer.InvariantCultureIgnoreCase)
            {
              #region Big list of mime types
              //NOTES
              //-This real list is entirely dependent on what is installed on a user's machine
              //-This list is sourced from a sample workspace, and we may need to convert it to a registry looks/hard coded list later
              //-Combination of values from Windows 7 Registry and C:\Windows\System32\inetsrv\config\applicationHost.config
              //-some added, including .7z and .dat
              {".323", "text/h323"},
              {".3g2", "video/3gpp2"},
              {".3gp", "video/3gpp"},
              {".3gp2", "video/3gpp2"},
              {".3gpp", "video/3gpp"},
              {".7z", "application/x-7z-compressed"},
              {".aa", "audio/audible"},
              {".AAC", "audio/aac"},
              {".aaf", "application/octet-stream"},
              {".aax", "audio/vnd.audible.aax"},
              {".ac3", "audio/ac3"},
              {".aca", "application/octet-stream"},
              {".accda", "application/msaccess.addin"},
              {".accdb", "application/msaccess"},
              {".accdc", "application/msaccess.cab"},
              {".accde", "application/msaccess"},
              {".accdr", "application/msaccess.runtime"},
              {".accdt", "application/msaccess"},
              {".accdw", "application/msaccess.webapplication"},
              {".accft", "application/msaccess.ftemplate"},
              {".acx", "application/internet-property-stream"},
              {".AddIn", "text/xml"},
              {".ade", "application/msaccess"},
              {".adobebridge", "application/x-bridge-url"},
              {".adp", "application/msaccess"},
              {".ADT", "audio/vnd.dlna.adts"},
              {".ADTS", "audio/aac"},
              {".afm", "application/octet-stream"},
              {".ai", "application/postscript"},
              {".aif", "audio/x-aiff"},
              {".aifc", "audio/aiff"},
              {".aiff", "audio/aiff"},
              {".air", "application/vnd.adobe.air-application-installer-package+zip"},
              {".amc", "application/x-mpeg"},
              {".application", "application/x-ms-application"},
              {".art", "image/x-jg"},
              {".asa", "application/xml"},
              {".asax", "application/xml"},
              {".ascx", "application/xml"},
              {".asd", "application/octet-stream"},
              {".asf", "video/x-ms-asf"},
              {".ashx", "application/xml"},
              {".asi", "application/octet-stream"},
              {".asm", "text/plain"},
              {".asmx", "application/xml"},
              {".aspx", "application/xml"},
              {".asr", "video/x-ms-asf"},
              {".asx", "video/x-ms-asf"},
              {".atom", "application/atom+xml"},
              {".au", "audio/basic"},
              {".avi", "video/x-msvideo"},
              {".axs", "application/olescript"},
              {".bas", "text/plain"},
              {".bcpio", "application/x-bcpio"},
              {".bin", "application/octet-stream"},
              {".bmp", "image/bmp"},
              {".c", "text/plain"},
              {".cab", "application/octet-stream"},
              {".caf", "audio/x-caf"},
              {".calx", "application/vnd.ms-office.calx"},
              {".cat", "application/vnd.ms-pki.seccat"},
              {".cc", "text/plain"},
              {".cd", "text/plain"},
              {".cdda", "audio/aiff"},
              {".cdf", "application/x-cdf"},
              {".cer", "application/x-x509-ca-cert"},
              {".chm", "application/octet-stream"},
              {".class", "application/x-java-applet"},
              {".clp", "application/x-msclip"},
              {".cmx", "image/x-cmx"},
              {".cnf", "text/plain"},
              {".cod", "image/cis-cod"},
              {".config", "application/xml"},
              {".contact", "text/x-ms-contact"},
              {".coverage", "application/xml"},
              {".cpio", "application/x-cpio"},
              {".cpp", "text/plain"},
              {".crd", "application/x-mscardfile"},
              {".crl", "application/pkix-crl"},
              {".crt", "application/x-x509-ca-cert"},
              {".cs", "text/plain"},
              {".csdproj", "text/plain"},
              {".csh", "application/x-csh"},
              {".csproj", "text/plain"},
              {".css", "text/css"},
              {".csv", "text/csv"},
              {".cur", "application/octet-stream"},
              {".cxx", "text/plain"},
              {".dat", "application/octet-stream"},
              {".datasource", "application/xml"},
              {".dbproj", "text/plain"},
              {".dcr", "application/x-director"},
              {".def", "text/plain"},
              {".deploy", "application/octet-stream"},
              {".der", "application/x-x509-ca-cert"},
              {".dgml", "application/xml"},
              {".dib", "image/bmp"},
              {".dif", "video/x-dv"},
              {".dir", "application/x-director"},
              {".disco", "text/xml"},
              {".dll", "application/x-msdownload"},
              {".dll.config", "text/xml"},
              {".dlm", "text/dlm"},
              {".doc", "application/msword"},
              {".docm", "application/vnd.ms-word.document.macroEnabled.12"},
              {".docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document"},
              {".dot", "application/msword"},
              {".dotm", "application/vnd.ms-word.template.macroEnabled.12"},
              {".dotx", "application/vnd.openxmlformats-officedocument.wordprocessingml.template"},
              {".dsp", "application/octet-stream"},
              {".dsw", "text/plain"},
              {".dtd", "text/xml"},
              {".dtsConfig", "text/xml"},
              {".dv", "video/x-dv"},
              {".dvi", "application/x-dvi"},
              {".dwf", "drawing/x-dwf"},
              {".dwp", "application/octet-stream"},
              {".dxr", "application/x-director"},
              {".eml", "message/rfc822"},
              {".emz", "application/octet-stream"},
              {".eot", "application/octet-stream"},
              {".eps", "application/postscript"},
              {".etl", "application/etl"},
              {".etx", "text/x-setext"},
              {".evy", "application/envoy"},
              {".exe", "application/octet-stream"},
              {".exe.config", "text/xml"},
              {".fdf", "application/vnd.fdf"},
              {".fif", "application/fractals"},
              {".filters", "Application/xml"},
              {".fla", "application/octet-stream"},
              {".flr", "x-world/x-vrml"},
              {".flv", "video/x-flv"},
              {".fsscript", "application/fsharp-script"},
              {".fsx", "application/fsharp-script"},
              {".generictest", "application/xml"},
              {".gif", "image/gif"},
              {".group", "text/x-ms-group"},
              {".gsm", "audio/x-gsm"},
              {".gtar", "application/x-gtar"},
              {".gz", "application/x-gzip"},
              {".h", "text/plain"},
              {".hdf", "application/x-hdf"},
              {".hdml", "text/x-hdml"},
              {".hhc", "application/x-oleobject"},
              {".hhk", "application/octet-stream"},
              {".hhp", "application/octet-stream"},
              {".hlp", "application/winhlp"},
              {".hpp", "text/plain"},
              {".hqx", "application/mac-binhex40"},
              {".hta", "application/hta"},
              {".htc", "text/x-component"},
              {".htm", "text/html"},
              {".html", "text/html"},
              {".htt", "text/webviewhtml"},
              {".hxa", "application/xml"},
              {".hxc", "application/xml"},
              {".hxd", "application/octet-stream"},
              {".hxe", "application/xml"},
              {".hxf", "application/xml"},
              {".hxh", "application/octet-stream"},
              {".hxi", "application/octet-stream"},
              {".hxk", "application/xml"},
              {".hxq", "application/octet-stream"},
              {".hxr", "application/octet-stream"},
              {".hxs", "application/octet-stream"},
              {".hxt", "text/html"},
              {".hxv", "application/xml"},
              {".hxw", "application/octet-stream"},
              {".hxx", "text/plain"},
              {".i", "text/plain"},
              {".ico", "image/x-icon"},
              {".ics", "application/octet-stream"},
              {".idl", "text/plain"},
              {".ief", "image/ief"},
              {".iii", "application/x-iphone"},
              {".inc", "text/plain"},
              {".inf", "application/octet-stream"},
              {".inl", "text/plain"},
              {".ins", "application/x-internet-signup"},
              {".ipa", "application/x-itunes-ipa"},
              {".ipg", "application/x-itunes-ipg"},
              {".ipproj", "text/plain"},
              {".ipsw", "application/x-itunes-ipsw"},
              {".iqy", "text/x-ms-iqy"},
              {".isp", "application/x-internet-signup"},
              {".ite", "application/x-itunes-ite"},
              {".itlp", "application/x-itunes-itlp"},
              {".itms", "application/x-itunes-itms"},
              {".itpc", "application/x-itunes-itpc"},
              {".IVF", "video/x-ivf"},
              {".jar", "application/java-archive"},
              {".java", "application/octet-stream"},
              {".jck", "application/liquidmotion"},
              {".jcz", "application/liquidmotion"},
              {".jfif", "image/pjpeg"},
              {".jnlp", "application/x-java-jnlp-file"},
              {".jpb", "application/octet-stream"},
              {".jpe", "image/jpeg"},
              {".jpeg", "image/jpeg"},
              {".jpg", "image/jpeg"},
              {".js", "application/x-javascript"},
              {".jsx", "text/jscript"},
              {".jsxbin", "text/plain"},
              {".latex", "application/x-latex"},
              {".library-ms", "application/windows-library+xml"},
              {".lit", "application/x-ms-reader"},
              {".loadtest", "application/xml"},
              {".lpk", "application/octet-stream"},
              {".lsf", "video/x-la-asf"},
              {".lst", "text/plain"},
              {".lsx", "video/x-la-asf"},
              {".lzh", "application/octet-stream"},
              {".m13", "application/x-msmediaview"},
              {".m14", "application/x-msmediaview"},
              {".m1v", "video/mpeg"},
              {".m2t", "video/vnd.dlna.mpeg-tts"},
              {".m2ts", "video/vnd.dlna.mpeg-tts"},
              {".m2v", "video/mpeg"},
              {".m3u", "audio/x-mpegurl"},
              {".m3u8", "audio/x-mpegurl"},
              {".m4a", "audio/m4a"},
              {".m4b", "audio/m4b"},
              {".m4p", "audio/m4p"},
              {".m4r", "audio/x-m4r"},
              {".m4v", "video/x-m4v"},
              {".mac", "image/x-macpaint"},
              {".mak", "text/plain"},
              {".man", "application/x-troff-man"},
              {".manifest", "application/x-ms-manifest"},
              {".map", "text/plain"},
              {".master", "application/xml"},
              {".mda", "application/msaccess"},
              {".mdb", "application/x-msaccess"},
              {".mde", "application/msaccess"},
              {".mdp", "application/octet-stream"},
              {".me", "application/x-troff-me"},
              {".mfp", "application/x-shockwave-flash"},
              {".mht", "message/rfc822"},
              {".mhtml", "message/rfc822"},
              {".mid", "audio/mid"},
              {".midi", "audio/mid"},
              {".mix", "application/octet-stream"},
              {".mk", "text/plain"},
              {".mmf", "application/x-smaf"},
              {".mno", "text/xml"},
              {".mny", "application/x-msmoney"},
              {".mod", "video/mpeg"},
              {".mov", "video/quicktime"},
              {".movie", "video/x-sgi-movie"},
              {".mp2", "video/mpeg"},
              {".mp2v", "video/mpeg"},
              {".mp3", "audio/mpeg"},
              {".mp4", "video/mp4"},
              {".mp4v", "video/mp4"},
              {".mpa", "video/mpeg"},
              {".mpe", "video/mpeg"},
              {".mpeg", "video/mpeg"},
              {".mpf", "application/vnd.ms-mediapackage"},
              {".mpg", "video/mpeg"},
              {".mpp", "application/vnd.ms-project"},
              {".mpv2", "video/mpeg"},
              {".mqv", "video/quicktime"},
              {".ms", "application/x-troff-ms"},
              {".msi", "application/octet-stream"},
              {".mso", "application/octet-stream"},
              {".mts", "video/vnd.dlna.mpeg-tts"},
              {".mtx", "application/xml"},
              {".mvb", "application/x-msmediaview"},
              {".mvc", "application/x-miva-compiled"},
              {".mxp", "application/x-mmxp"},
              {".nc", "application/x-netcdf"},
              {".nsc", "video/x-ms-asf"},
              {".nws", "message/rfc822"},
              {".ocx", "application/octet-stream"},
              {".oda", "application/oda"},
              {".odc", "text/x-ms-odc"},
              {".odh", "text/plain"},
              {".odl", "text/plain"},
              {".odp", "application/vnd.oasis.opendocument.presentation"},
              {".ods", "application/oleobject"},
              {".odt", "application/vnd.oasis.opendocument.text"},
              {".one", "application/onenote"},
              {".onea", "application/onenote"},
              {".onepkg", "application/onenote"},
              {".onetmp", "application/onenote"},
              {".onetoc", "application/onenote"},
              {".onetoc2", "application/onenote"},
              {".orderedtest", "application/xml"},
              {".osdx", "application/opensearchdescription+xml"},
              {".p10", "application/pkcs10"},
              {".p12", "application/x-pkcs12"},
              {".p7b", "application/x-pkcs7-certificates"},
              {".p7c", "application/pkcs7-mime"},
              {".p7m", "application/pkcs7-mime"},
              {".p7r", "application/x-pkcs7-certreqresp"},
              {".p7s", "application/pkcs7-signature"},
              {".pbm", "image/x-portable-bitmap"},
              {".pcast", "application/x-podcast"},
              {".pct", "image/pict"},
              {".pcx", "application/octet-stream"},
              {".pcz", "application/octet-stream"},
              {".pdf", "application/pdf"},
              {".pfb", "application/octet-stream"},
              {".pfm", "application/octet-stream"},
              {".pfx", "application/x-pkcs12"},
              {".pgm", "image/x-portable-graymap"},
              {".pic", "image/pict"},
              {".pict", "image/pict"},
              {".pkgdef", "text/plain"},
              {".pkgundef", "text/plain"},
              {".pko", "application/vnd.ms-pki.pko"},
              {".pls", "audio/scpls"},
              {".pma", "application/x-perfmon"},
              {".pmc", "application/x-perfmon"},
              {".pml", "application/x-perfmon"},
              {".pmr", "application/x-perfmon"},
              {".pmw", "application/x-perfmon"},
              {".png", "image/png"},
              {".pnm", "image/x-portable-anymap"},
              {".pnt", "image/x-macpaint"},
              {".pntg", "image/x-macpaint"},
              {".pnz", "image/png"},
              {".pot", "application/vnd.ms-powerpoint"},
              {".potm", "application/vnd.ms-powerpoint.template.macroEnabled.12"},
              {".potx", "application/vnd.openxmlformats-officedocument.presentationml.template"},
              {".ppa", "application/vnd.ms-powerpoint"},
              {".ppam", "application/vnd.ms-powerpoint.addin.macroEnabled.12"},
              {".ppm", "image/x-portable-pixmap"},
              {".pps", "application/vnd.ms-powerpoint"},
              {".ppsm", "application/vnd.ms-powerpoint.slideshow.macroEnabled.12"},
              {".ppsx", "application/vnd.openxmlformats-officedocument.presentationml.slideshow"},
              {".ppt", "application/vnd.ms-powerpoint"},
              {".pptm", "application/vnd.ms-powerpoint.presentation.macroEnabled.12"},
              {".pptx", "application/vnd.openxmlformats-officedocument.presentationml.presentation"},
              {".prf", "application/pics-rules"},
              {".prm", "application/octet-stream"},
              {".prx", "application/octet-stream"},
              {".ps", "application/postscript"},
              {".psc1", "application/PowerShell"},
              {".psd", "application/octet-stream"},
              {".psess", "application/xml"},
              {".psm", "application/octet-stream"},
              {".psp", "application/octet-stream"},
              {".pub", "application/x-mspublisher"},
              {".pwz", "application/vnd.ms-powerpoint"},
              {".qht", "text/x-html-insertion"},
              {".qhtm", "text/x-html-insertion"},
              {".qt", "video/quicktime"},
              {".qti", "image/x-quicktime"},
              {".qtif", "image/x-quicktime"},
              {".qtl", "application/x-quicktimeplayer"},
              {".qxd", "application/octet-stream"},
              {".ra", "audio/x-pn-realaudio"},
              {".ram", "audio/x-pn-realaudio"},
              {".rar", "application/octet-stream"},
              {".ras", "image/x-cmu-raster"},
              {".rat", "application/rat-file"},
              {".rc", "text/plain"},
              {".rc2", "text/plain"},
              {".rct", "text/plain"},
              {".rdlc", "application/xml"},
              {".resx", "application/xml"},
              {".rf", "image/vnd.rn-realflash"},
              {".rgb", "image/x-rgb"},
              {".rgs", "text/plain"},
              {".rm", "application/vnd.rn-realmedia"},
              {".rmi", "audio/mid"},
              {".rmp", "application/vnd.rn-rn_music_package"},
              {".roff", "application/x-troff"},
              {".rpm", "audio/x-pn-realaudio-plugin"},
              {".rqy", "text/x-ms-rqy"},
              {".rtf", "application/rtf"},
              {".rtx", "text/richtext"},
              {".ruleset", "application/xml"},
              {".s", "text/plain"},
              {".safariextz", "application/x-safari-safariextz"},
              {".scd", "application/x-msschedule"},
              {".sct", "text/scriptlet"},
              {".sd2", "audio/x-sd2"},
              {".sdp", "application/sdp"},
              {".sea", "application/octet-stream"},
              {".searchConnector-ms", "application/windows-search-connector+xml"},
              {".setpay", "application/set-payment-initiation"},
              {".setreg", "application/set-registration-initiation"},
              {".settings", "application/xml"},
              {".sgimb", "application/x-sgimb"},
              {".sgml", "text/sgml"},
              {".sh", "application/x-sh"},
              {".shar", "application/x-shar"},
              {".shtml", "text/html"},
              {".sit", "application/x-stuffit"},
              {".sitemap", "application/xml"},
              {".skin", "application/xml"},
              {".sldm", "application/vnd.ms-powerpoint.slide.macroEnabled.12"},
              {".sldx", "application/vnd.openxmlformats-officedocument.presentationml.slide"},
              {".slk", "application/vnd.ms-excel"},
              {".sln", "text/plain"},
              {".slupkg-ms", "application/x-ms-license"},
              {".smd", "audio/x-smd"},
              {".smi", "application/octet-stream"},
              {".smx", "audio/x-smd"},
              {".smz", "audio/x-smd"},
              {".snd", "audio/basic"},
              {".snippet", "application/xml"},
              {".snp", "application/octet-stream"},
              {".sol", "text/plain"},
              {".sor", "text/plain"},
              {".spc", "application/x-pkcs7-certificates"},
              {".spl", "application/futuresplash"},
              {".src", "application/x-wais-source"},
              {".srf", "text/plain"},
              {".SSISDeploymentManifest", "text/xml"},
              {".ssm", "application/streamingmedia"},
              {".sst", "application/vnd.ms-pki.certstore"},
              {".stl", "application/vnd.ms-pki.stl"},
              {".sv4cpio", "application/x-sv4cpio"},
              {".sv4crc", "application/x-sv4crc"},
              {".svc", "application/xml"},
              {".swf", "application/x-shockwave-flash"},
              {".t", "application/x-troff"},
              {".tar", "application/x-tar"},
              {".tcl", "application/x-tcl"},
              {".testrunconfig", "application/xml"},
              {".testsettings", "application/xml"},
              {".tex", "application/x-tex"},
              {".texi", "application/x-texinfo"},
              {".texinfo", "application/x-texinfo"},
              {".tgz", "application/x-compressed"},
              {".thmx", "application/vnd.ms-officetheme"},
              {".thn", "application/octet-stream"},
              {".tif", "image/tiff"},
              {".tiff", "image/tiff"},
              {".tlh", "text/plain"},
              {".tli", "text/plain"},
              {".toc", "application/octet-stream"},
              {".tr", "application/x-troff"},
              {".trm", "application/x-msterminal"},
              {".trx", "application/xml"},
              {".ts", "video/vnd.dlna.mpeg-tts"},
              {".tsv", "text/tab-separated-values"},
              {".ttf", "application/octet-stream"},
              {".tts", "video/vnd.dlna.mpeg-tts"},
              {".txt", "text/plain"},
              {".u32", "application/octet-stream"},
              {".uls", "text/iuls"},
              {".user", "text/plain"},
              {".ustar", "application/x-ustar"},
              {".vb", "text/plain"},
              {".vbdproj", "text/plain"},
              {".vbk", "video/mpeg"},
              {".vbproj", "text/plain"},
              {".vbs", "text/vbscript"},
              {".vcf", "text/x-vcard"},
              {".vcproj", "Application/xml"},
              {".vcs", "text/plain"},
              {".vcxproj", "Application/xml"},
              {".vddproj", "text/plain"},
              {".vdp", "text/plain"},
              {".vdproj", "text/plain"},
              {".vdx", "application/vnd.ms-visio.viewer"},
              {".vml", "text/xml"},
              {".vscontent", "application/xml"},
              {".vsct", "text/xml"},
              {".vsd", "application/vnd.visio"},
              {".vsi", "application/ms-vsi"},
              {".vsix", "application/vsix"},
              {".vsixlangpack", "text/xml"},
              {".vsixmanifest", "text/xml"},
              {".vsmdi", "application/xml"},
              {".vspscc", "text/plain"},
              {".vss", "application/vnd.visio"},
              {".vsscc", "text/plain"},
              {".vssettings", "text/xml"},
              {".vssscc", "text/plain"},
              {".vst", "application/vnd.visio"},
              {".vstemplate", "text/xml"},
              {".vsto", "application/x-ms-vsto"},
              {".vsw", "application/vnd.visio"},
              {".vsx", "application/vnd.visio"},
              {".vtx", "application/vnd.visio"},
              {".wav", "audio/wav"},
              {".wave", "audio/wav"},
              {".wax", "audio/x-ms-wax"},
              {".wbk", "application/msword"},
              {".wbmp", "image/vnd.wap.wbmp"},
              {".wcm", "application/vnd.ms-works"},
              {".wdb", "application/vnd.ms-works"},
              {".wdp", "image/vnd.ms-photo"},
              {".webarchive", "application/x-safari-webarchive"},
              {".webtest", "application/xml"},
              {".wiq", "application/xml"},
              {".wiz", "application/msword"},
              {".wks", "application/vnd.ms-works"},
              {".WLMP", "application/wlmoviemaker"},
              {".wlpginstall", "application/x-wlpg-detect"},
              {".wlpginstall3", "application/x-wlpg3-detect"},
              {".wm", "video/x-ms-wm"},
              {".wma", "audio/x-ms-wma"},
              {".wmd", "application/x-ms-wmd"},
              {".wmf", "application/x-msmetafile"},
              {".wml", "text/vnd.wap.wml"},
              {".wmlc", "application/vnd.wap.wmlc"},
              {".wmls", "text/vnd.wap.wmlscript"},
              {".wmlsc", "application/vnd.wap.wmlscriptc"},
              {".wmp", "video/x-ms-wmp"},
              {".wmv", "video/x-ms-wmv"},
              {".wmx", "video/x-ms-wmx"},
              {".wmz", "application/x-ms-wmz"},
              {".wpl", "application/vnd.ms-wpl"},
              {".wps", "application/vnd.ms-works"},
              {".wri", "application/x-mswrite"},
              {".wrl", "x-world/x-vrml"},
              {".wrz", "x-world/x-vrml"},
              {".wsc", "text/scriptlet"},
              {".wsdl", "text/xml"},
              {".wvx", "video/x-ms-wvx"},
              {".x", "application/directx"},
              {".xaf", "x-world/x-vrml"},
              {".xaml", "application/xaml+xml"},
              {".xap", "application/x-silverlight-app"},
              {".xbap", "application/x-ms-xbap"},
              {".xbm", "image/x-xbitmap"},
              {".xdr", "text/plain"},
              {".xht", "application/xhtml+xml"},
              {".xhtml", "application/xhtml+xml"},
              {".xla", "application/vnd.ms-excel"},
              {".xlam", "application/vnd.ms-excel.addin.macroEnabled.12"},
              {".xlc", "application/vnd.ms-excel"},
              {".xld", "application/vnd.ms-excel"},
              {".xlk", "application/vnd.ms-excel"},
              {".xll", "application/vnd.ms-excel"},
              {".xlm", "application/vnd.ms-excel"},
              {".xls", "application/vnd.ms-excel"},
              {".xlsb", "application/vnd.ms-excel.sheet.binary.macroEnabled.12"},
              {".xlsm", "application/vnd.ms-excel.sheet.macroEnabled.12"},
              {".xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},
              {".xlt", "application/vnd.ms-excel"},
              {".xltm", "application/vnd.ms-excel.template.macroEnabled.12"},
              {".xltx", "application/vnd.openxmlformats-officedocument.spreadsheetml.template"},
              {".xlw", "application/vnd.ms-excel"},
              {".xml", "text/xml"},
              {".xmta", "application/xml"},
              {".xof", "x-world/x-vrml"},
              {".XOML", "text/plain"},
              {".xpm", "image/x-xpixmap"},
              {".xps", "application/vnd.ms-xpsdocument"},
              {".xrm-ms", "text/xml"},
              {".xsc", "application/xml"},
              {".xsd", "text/xml"},
              {".xsf", "text/xml"},
              {".xsl", "text/xml"},
              {".xslt", "text/xml"},
              {".xsn", "application/octet-stream"},
              {".xss", "application/xml"},
              {".xtp", "application/octet-stream"},
              {".xwd", "image/x-xwindowdump"},
              {".z", "application/x-compress"},
              {".zip", "application/x-zip-compressed"},

              #endregion
            };
          }

          return _knownTypes;
        }
      }

      public static string Folder
      {
        get { return "application/vnd.google-apps.folder"; }
      }
    }
  }
}
